-
Parallelizing the Physics Solver of Teardown .
-
TLDR :
-
He uses a graph-based technique to separate constraints that can be processed in parallel (the Box2D 3 technique).
-
Then, idle time between threads is optimized to gain performance: Spin Lockless > Lockless > Sync Primitives.
-
He mentioned he would implement Work Stealing in the future, said it was a good idea.
-
Makes total sense, tbh, strange he hasn’t tested it yet, but he said he would.
-
-
-
It uses the technique developed for Box2D 3.
-
He strongly recommends the Box2D author’s blog and says the new Box2D is incredibly fast.
-
-
The video is nice, but it only covers those two concepts. The presentation is a bit stiff.
-
His profiler is homemade, but he recommended Tracy.
-
"It has to be a lockless profiler".
-
-
His lifetime work has been on physics engines.
-
About the Physics Engine :
-
"Putting the solver on the GPU ends up forcing the entire game onto the GPU since physics interacts a lot with gameplay; not a good idea."
-
Which solver?
-
All solvers are relatively similar, as long as they follow Projected Gauss-Seidel / Sequential Impulse .
-
-
How many iterations?
-
I found 6 for Teardown. It’s based on experimentation. Many games use 4 or 8.
-
"It's a performance / quality tradeoff".
-
-
-
{34:30}
-
Comparison chart.
-
-
-
-
The video isn’t focused on programming or performance, but on the theory of realistic car simulation; it’s about cars only.
-
The guy is a tire nerd; ultra hyper-focused on cars.
-
There’s quite a bit of theory behind it.
-
.
-
-
He explains Gear Shifting, sound generation, etc, etc, lots of stuff.
-
-
{43:30}
-
The clip is wild, very cool.
-
-
Theory